Built-in Animations: FadeTransition, TranslateTransition, RotateTransition

Java Technologies - জাভাএফএক্স (JavaFx) - JavaFX Animation এবং Transitions
200

JavaFX একটি শক্তিশালী অ্যানিমেশন API সরবরাহ করে, যার মাধ্যমে আপনি আপনার ইউজার ইন্টারফেসে অ্যানিমেশন যোগ করতে পারেন। JavaFX এ তিনটি জনপ্রিয় এবং গুরুত্বপূর্ণ বিল্ট-ইন অ্যানিমেশন ক্লাস হল FadeTransition, TranslateTransition, এবং RotateTransition। এই অ্যানিমেশন ক্লাসগুলি ব্যবহার করে আপনি সহজেই আপনার UI উপাদানগুলিকে ফেড, সরানো বা ঘোরানোর মতো অ্যানিমেশন তৈরি করতে পারবেন।

১. FadeTransition (ফেড অ্যানিমেশন):

FadeTransition ক্লাস ব্যবহার করে একটি UI উপাদান ধীরে ধীরে দৃশ্যমান বা অদৃশ্য করা যায়। এটি একটি সহজ ফেড-ইন বা ফেড-আউট অ্যানিমেশন তৈরির জন্য ব্যবহৃত হয়।

FadeTransition Example:

import javafx.animation.FadeTransition;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.util.Duration;

public class FadeTransitionExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // বাটন তৈরি করা
        Button btn = new Button("Click Me");

        // FadeTransition তৈরি করা
        FadeTransition fadeTransition = new FadeTransition(Duration.seconds(2), btn);
        fadeTransition.setFromValue(1.0); // পুরানো দৃশ্যমানতা
        fadeTransition.setToValue(0.0); // নতুন দৃশ্যমানতা (অদৃশ্য)
        fadeTransition.setCycleCount(2); // দুইবার অ্যানিমেশন করবে
        fadeTransition.setAutoReverse(true); // অ্যানিমেশন শেষে স্বয়ংক্রিয়ভাবে রিভার্স হবে

        // বাটনে ক্লিক হলে অ্যানিমেশন শুরু হবে
        btn.setOnAction(e -> fadeTransition.play());

        // StackPane তৈরি এবং বাটন যোগ করা
        StackPane root = new StackPane();
        root.getChildren().add(btn);

        // সীন এবং স্টেজ তৈরি
        Scene scene = new Scene(root, 300, 200);
        primaryStage.setTitle("FadeTransition Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

ব্যাখ্যা:

  • এখানে, FadeTransition একটি বাটনে (button) ব্যবহার করা হয়েছে। অ্যানিমেশনটি বাটনের দৃশ্যমানতা পরিবর্তন করবে (ফেড ইন এবং ফেড আউট)।
  • setFromValue() এবং setToValue() দিয়ে অ্যানিমেশনের শুরু এবং শেষ অবস্থান নির্ধারণ করা হয়।
  • setCycleCount() দিয়ে অ্যানিমেশন কতবার চলবে তা নির্ধারণ করা হয়।
  • setAutoReverse(true) দিয়ে অ্যানিমেশন শেষে উল্টানো হবে।

২. TranslateTransition (সরাসরি স্থানান্তর অ্যানিমেশন):

TranslateTransition ক্লাস ব্যবহার করে একটি UI উপাদানকে একটি নির্দিষ্ট সময়ের মধ্যে স্থানান্তর করা যায়, যা সরানো বা নড়ানো অনুভূতি সৃষ্টি করে।

TranslateTransition Example:

import javafx.animation.TranslateTransition;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.util.Duration;

public class TranslateTransitionExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // বাটন তৈরি করা
        Button btn = new Button("Click Me");

        // TranslateTransition তৈরি করা
        TranslateTransition translateTransition = new TranslateTransition(Duration.seconds(2), btn);
        translateTransition.setByX(200); // ২০০ পিক্সেল ডান দিকে স্থানান্তর
        translateTransition.setByY(100); // ১০০ পিক্সেল উপরে স্থানান্তর

        // বাটনে ক্লিক হলে অ্যানিমেশন শুরু হবে
        btn.setOnAction(e -> translateTransition.play());

        // StackPane তৈরি এবং বাটন যোগ করা
        StackPane root = new StackPane();
        root.getChildren().add(btn);

        // সীন এবং স্টেজ তৈরি
        Scene scene = new Scene(root, 300, 200);
        primaryStage.setTitle("TranslateTransition Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

ব্যাখ্যা:

  • TranslateTransition ক্লাস ব্যবহার করে, আমরা বাটনকে X এবং Y অক্ষ বরাবর সরিয়েছি। setByX() এবং setByY() মেথড দ্বারা কী পরিমাণে স্থানান্তরিত হবে তা নির্ধারণ করা হয়।

৩. RotateTransition (ঘূর্ণন অ্যানিমেশন):

RotateTransition ক্লাস ব্যবহার করে একটি UI উপাদানকে একটি নির্দিষ্ট সময়ের মধ্যে ঘোরানো যায়।

RotateTransition Example:

import javafx.animation.RotateTransition;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
import javafx.util.Duration;

public class RotateTransitionExample extends Application {

    @Override
    public void start(Stage primaryStage) {
        // বাটন তৈরি করা
        Button btn = new Button("Click Me");

        // RotateTransition তৈরি করা
        RotateTransition rotateTransition = new RotateTransition(Duration.seconds(2), btn);
        rotateTransition.setByAngle(360); // ৩৬০ ডিগ্রি ঘোরানো
        rotateTransition.setCycleCount(1); // একবার ঘোরানো হবে
        rotateTransition.setAutoReverse(false); // ঘোরানোর পরে উল্টানো হবে না

        // বাটনে ক্লিক হলে অ্যানিমেশন শুরু হবে
        btn.setOnAction(e -> rotateTransition.play());

        // StackPane তৈরি এবং বাটন যোগ করা
        StackPane root = new StackPane();
        root.getChildren().add(btn);

        // সীন এবং স্টেজ তৈরি
        Scene scene = new Scene(root, 300, 200);
        primaryStage.setTitle("RotateTransition Example");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

ব্যাখ্যা:

  • এখানে RotateTransition ব্যবহার করা হয়েছে যাতে বাটনটি ২ সেকেন্ডে ৩৬০ ডিগ্রি ঘুরবে। setByAngle() মেথড দিয়ে ঘূর্ণনের কোণ নির্ধারণ করা হয়।

Common Transition Properties:

এই অ্যানিমেশন ট্রানজিশনগুলির জন্য কিছু সাধারণ প্রপার্টি আছে:

  • Duration: অ্যানিমেশনের সময়কাল নির্ধারণ করে। Duration.seconds(2) দ্বারা ২ সেকেন্ডের সময়কাল নির্ধারণ করা হয়।
  • Cycle Count: অ্যানিমেশন কতবার চালানো হবে তা নির্ধারণ করে।
  • Auto Reverse: যদি true হয়, তাহলে অ্যানিমেশনটি শেষ হওয়ার পর উল্টো দিকে চলে যাবে।

JavaFX এ বিল্ট-ইন অ্যানিমেশন ক্লাসগুলি যেমন FadeTransition, TranslateTransition, এবং RotateTransition ব্যবহার করে সহজেই আপনার অ্যাপ্লিকেশনের UI উপাদানগুলিতে অ্যানিমেশন যোগ করতে পারেন। এটি ইউজার ইন্টারঅ্যাকশনকে আরও আকর্ষণীয় এবং ইন্টারঅ্যাকটিভ করে তোলে, এবং JavaFX-এ অ্যাপ্লিকেশনকে আরও ডাইনামিক ও আকর্ষণীয় করে তোলে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...